using System;
using Unity.Entities;
using UnityEditor;

namespace Game.Graph
{
    public enum GraphNodeType : ushort
    {
            
    }
    
    public unsafe interface IGraphNode
    {
        
    }

    public unsafe interface IGraphBaseNode : IGraphNode
    {
        public GraphMeta Meta { get; }
    }

    public unsafe interface IGraphActionNode : IGraphBaseNode
    {
        public GraphMeta Next { get; }
    }
    
    public unsafe interface IGraphControlNode : IGraphBaseNode
    {
        // public IGraphNode Child { get; }
    }

    // public unsafe struct GraphNode : IGraphNode<GraphNode>
    // {
    //     public GraphNode* m_Next;
    //     
    //     public GraphNode* Next
    //     {
    //         get => m_Next;
    //         set => m_Next = value;
    //     }
    // }
}